Learning Center
Services Webmail

Comment envoyer des e-mails sous Linux via la ligne de commande avec Sendmail et Mailx

26 nov. 2025
Hostman Team
Hostman Team

Pour les administrateurs système ou ceux qui travaillent sur des tâches d’automatisation, savoir envoyer des e-mails depuis le terminal Linux est essentiel. Cela offre un contrôle total sur les fonctions de messagerie et évite d’avoir recours à des programmes complexes. C’est particulièrement utile lorsque la rapidité et la simplicité sont prioritaires.

Des outils courants tels que sendmail et mailx sont fréquemment utilisés pour envoyer des messages, vérifier les paramètres SMTP, automatiser des alertes ou s’intégrer dans des scripts. Ils sont simples mais efficaces — parfaits pour informer une équipe des mises à jour du serveur, automatiser des rapports ou tester des configurations e-mail.

Ce guide s’adresse aux utilisateurs souhaitant gérer leurs e-mails directement depuis le terminal. Il couvre l’installation des outils essentiels ainsi que des tâches plus avancées, comme l’envoi de pièces jointes et la configuration des utilitaires de messagerie.

Pourquoi choisir des outils de messagerie en ligne de commande ?
Copier le lien

Les deux outils les plus utilisés — sendmail et mailx — sont des solutions fiables pour l’envoi d’e-mails sous Linux et présentent plusieurs avantages :

Efficacité
Copier le lien

Les logiciels de messagerie traditionnels peuvent être lents et gourmands en ressources. Ces outils permettent un envoi rapide et léger directement depuis la ligne de commande.

Automatisation
Copier le lien

Ils s’intègrent parfaitement avec les scripts shell, les tâches cron et les outils de supervision. Vous pouvez automatiser des notifications ou alertes répétitives.

Dépannage des problèmes SMTP
Copier le lien

Ils simplifient la détection des erreurs et la consultation des journaux de messagerie, ce qui facilite le diagnostic des configurations SMTP.

Flexibilité
Copier le lien

Que ce soit pour envoyer une alerte ou générer un rapport automatique, sendmail et mailx offrent une grande polyvalence.

Prérequis
Copier le lien

Avant d’utiliser ces outils de messagerie Linux, assurez-vous de disposer :

  • D’un accès au terminal : dans certains cas, des droits root sont nécessaires.

  • D’un serveur SMTP : indispensable pour tester l’envoi d'e-mails.

  • Des utilitaires installés : vérifiez que sendmail et mailx sont présents et fonctionnels.

Configurer un serveur SMTP
Copier le lien

Les serveurs SMTP sont indispensables pour envoyer des messages. Ils se répartissent en deux catégories :

  1. Serveurs SMTP externes

  2. Serveurs SMTP locaux

Serveurs SMTP externes
Copier le lien

Ils sont hébergés par un fournisseur tiers. Leur rôle est d’envoyer des e-mails à des destinataires extérieurs à votre réseau. Ils garantissent :

  • une livraison mondiale,

  • l’authentification,

  • la cryptographie,

  • la prévention du spam.

Exemples
Copier le lien

Gmail

  • Adresse : smtp.gmail.com

  • Port : 587 (TLS) ou 465 (SSL)

Outlook

  • Adresse : smtp.office365.com

  • Port : 587

Ils nécessitent une authentification (login, mot de passe ou mots de passe d’application) et une connexion sécurisée (TLS/SSL).

Note : Nous avons déjà fourni un guide pour configurer un serveur SMTP externe. La commande d'envoi via Postfix reste identique : il suffit d’adapter les identifiants SMTP et de remplacer l’adresse e-mail par celle du fournisseur choisi.

Serveurs SMTP locaux
Copier le lien

Ils fonctionnent uniquement dans un réseau interne. Idéals pour :

  • envoyer des e-mails entre utilisateurs locaux (tom@office.local → jerry@office.local),

  • les tests et le développement,

  • la communication interne,

  • les environnements sans connexion Internet.

Configuration d’un serveur SMTP local
Copier le lien

1. Installer Postfix
Copier le lien

sudo apt install postfix

2. Modifier la configuration
Copier le lien

sudo nano /etc/postfix/main.cf

Paramètres à vérifier :

myhostname = mail.office.local

mydomain = office.local

myorigin = $mydomain

inet_interfaces = loopback-only

local_recipient_maps = proxy:unix:passwd.byname

mydestination = $myhostname, localhost.$mydomain, localhost, $mydomain

Redémarrer Postfix :

sudo systemctl restart postfix

3. Créer des comptes utilisateurs
Copier le lien

sudo adduser linux

sudo adduser hostman

Ce qui génère des adresses comme linux@office.local.

Présentation de sendmail
Copier le lien

sendmail est un agent de transfert de courrier (MTA) très répandu sous Linux. Il fonctionne avec des serveurs SMTP et permet d’envoyer des e-mails depuis des scripts ou des systèmes locaux.

Installer sendmail
Copier le lien

Debian/Ubuntu
Copier le lien

sudo apt install sendmail

CentOS/Red Hat
Copier le lien

sudo yum install sendmail

Démarrer et activer sendmail
Copier le lien

sudo systemctl start sendmail

sudo systemctl enable sendmail

Tester sendmail
Copier le lien

echo "Testing sendmail setup" | sendmail -v your-email@example.com

Vérifier les e-mails reçus :

mail

Installer mailutils si nécessaire :

sudo apt install mailutils

Ou consulter :

cat /var/mail/user

Configurer sendmail
Copier le lien

sudo nano /etc/mail/sendmail.mc

Exemple : définir le domaine :

define(`confDOMAIN_NAME', `your_domain.com')dnl

Regénérer la configuration :

sudo m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf

Si une erreur de permission survient :

sudo sh -c "m4 /etc/mail/sendmail.mc > /etc/mail/sendmail.cf"

Redémarrer :

sudo systemctl restart sendmail

Envoyer un e-mail avec sendmail
Copier le lien

1. Créer un fichier
Copier le lien

nano email.txt

Contenu :

Subject: Test Email from Hostman

This is a test email sent using sendmail on Linux.

2. Envoyer
Copier le lien

sendmail recipient@example.com < email.txt

3. Vérifier
Copier le lien

mail

Envoyer une pièce jointe avec sendmail
Copier le lien

sendmail ne gère pas les pièces jointes nativement ; utilisez uuencode :

Installer sharutils :

sudo apt install sharutils

Exemple :

( echo "Subject: Email with attachment"; uuencode file.txt file.txt ) | sendmail recipient@example.com

Vérifier :

mail

Présentation de mailx
Copier le lien

mailx est un outil simple et efficace pour gérer les e-mails en terminal. Il fait partie du paquet mailutils.

Installer mailx
Copier le lien

Debian/Ubuntu
Copier le lien

sudo apt install mailutils

Red Hat
Copier le lien

sudo yum install mailx

Envoyer un e-mail avec mailx
Copier le lien

echo "This is the body of the email" | mailx -s "Test Email from Mailx" recipient@example.com

Envoyer une pièce jointe avec mailx
Copier le lien

echo "Please find the attached document" | mailx -s "Email with Attachment" -A email.txt recipient@example.com

Conclusion
Copier le lien

Envoyer des e-mails depuis la ligne de commande sous Linux est une méthode puissante pour automatiser des tâches de communication, diagnostiquer des serveurs ou tester des configurations. Avec sendmail et mailx, vous pouvez gérer aussi bien des messages simples que des envois avancés avec pièces jointes. Ce guide fournit toutes les instructions nécessaires pour commencer efficacement.